home *** CD-ROM | disk | FTP | other *** search
- from gtk import *
- from iw import *
- from translate import _
-
- class LanguageWindow (InstallWindow):
-
- def __init__ (self, ics):
- InstallWindow.__init__ (self, ics)
-
- ics.setTitle (_("Language Selection"))
-
- if self.todo.reconfigOnly:
- ics.setPrevEnabled (1)
- else:
- ics.setPrevEnabled (0)
-
- ics.setNextEnabled (1)
- ics.readHTML ("lang")
- self.ics = ics
- self.icw = ics.getICW ()
- self.question = (_("What language should be used during the "
- "installation process?"))
- self.languages = self.todo.language.available ()
- self.running = 0
- self.lang = None
-
- def getNext (self):
- if self.lang:
- self.todo.language.set (self.lang)
- self.icw.setLanguage (self.languages[self.lang])
- return None
-
-
- def select_row (self, clist, row, col, event):
- if self.running:
- lang = clist.get_text (clist.selection[0], 0)
- self.lang = lang
-
- def getScreen (self):
- self.running = 0
- mainBox = GtkVBox (FALSE, 10)
- label = GtkLabel (self.question)
- label.set_alignment (0.5, 0.5)
- label.set_line_wrap (TRUE)
-
- language_keys = self.languages.keys ()
- language_keys.sort ()
-
- self.language = GtkCList ()
- self.language.set_selection_mode (SELECTION_BROWSE)
- self.language.connect ("select_row", self.select_row)
-
- default = -1
- n = 0
- for locale in language_keys:
- row = self.language.append ((locale,))
- if self.languages[locale] == self.todo.language.get ():
- default = n
- n = n + 1
-
- if default > 0:
- self.language.select_row (default, 0)
-
- sw = GtkScrolledWindow ()
- sw.set_border_width (5)
- sw.set_policy (POLICY_NEVER, POLICY_NEVER)
- sw.add (self.language)
-
- mainBox.pack_start (label, FALSE, FALSE, 10)
- mainBox.pack_start (sw, TRUE)
-
- self.running = 1
-
- return mainBox
-